Electronic commerce functionality in video overlays

ABSTRACT

Disclosed are various embodiments for providing interactive electronic commerce functionality via graphical overlays on live streaming video. An indication is received that an item is featured or discussed in a live video stream. The live video stream is sent to a client. Data encoding a selectable graphical overlay is sent to the client in response to the indication. The selectable graphical overlay is configured to be rendered by the client relative to the live video stream. A selection of the selectable graphical overlay is configured to perform an interactive function relative to the item.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of co-pending U.S. utilityapplication entitled, “Electronic Commerce Functionality in VideoOverlays,” having application Ser. No. 14/751,823, filed Jun. 26, 2015,which is entirely incorporated herein by reference.

BACKGROUND

Historically, shopping is an activity that has involved a customervisiting a number of brick-and-mortar retail stores, browsing throughinventory, selecting products of interest, and checking out to completea purchase. Mail order companies introduced catalog-based shopping,whereby a customer peruses a printed catalog, views a catalog listing,and then places an order for a product via letter or telephone. Theordered product is delivered to the customer's premise a few days later.Although convenient, catalog-based shopping has inherent disadvantages,such as a lack of photo views of a product. High printing costs limitedthe number of photos of a product, particularly with respect todifferent angles or product variations.

During the early 1980s, home shopping channels on cable television wereintroduced. The home shopping channels offered television programmingthat described products for sale that could be ordered by phone. Viewerswould regularly tune-in to see products that were displayed and talkedabout by live hosts. Enthusiastic personalities often developed a loyalfollowing, and the shopping channels would give many hosts creativefreedom in merchandising products.

Home shopping channels became less relevant with the introduction ofInternet-based retailing in the late 1990s. Web sites offered photos andinformation about products without limit, greatly improving upon theprevious analogue of printed catalogs. Product videos and animationscould be provided, with 360 degree views of products. The onlinecatalogs could be searched, and offerings of many competing retailerscould be found instantly.

As compared with home shopping television channels, online retailers maylack the human component that motivates people to purchase. Sites suchas YOUTUBE that offer user-created videos have become hugely popularwith the “Millennial” generation. In fact, “how-to” videos have becomean important driver of purchasing decisions among Millennials. Forexample, a person may create a video showing others how to use aparticular product. During the video, the person may express opinionsregarding the product. Viewers may then be motivated to purchase theproduct after viewing the video.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood withreference to the following drawings. The components in the drawings arenot necessarily to scale, with emphasis instead being placed uponclearly illustrating the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a pictorial diagram of an example user interface renderedaccording to various embodiments of the present disclosure.

FIG. 2 is a schematic block diagram of a networked environment accordingto various embodiments of the present disclosure.

FIGS. 3A-3D are pictorial diagrams of example user interfaces renderedby a client device in the networked environment of FIG. 2 according tovarious embodiments of the present disclosure.

FIG. 4 is a flowchart illustrating one example of functionalityimplemented executed in a computing environment in the networkedenvironment of FIG. 2 according to various embodiments of the presentdisclosure.

FIGS. 5-6B are flowcharts illustrating examples of functionalityimplemented as portions of a content access application executed in aclient device in the networked environment of FIG. 2 according tovarious embodiments of the present disclosure.

FIG. 7 is a flowchart illustrating one example of functionalityimplemented executed in a computing environment in the networkedenvironment of FIG. 2 according to various embodiments of the presentdisclosure.

FIG. 8 is a schematic block diagram that provides one exampleillustration of a computing environment employed in the networkedenvironment of FIG. 2 according to various embodiments of the presentdisclosure.

DETAILED DESCRIPTION

The present disclosure relates to providing an interactive shoppingexperience in conjunction with live video streams that discuss itemsoffered for order. Traditional home shopping channels, despite havingenergetic personalities and loyal viewers, have not adapted well to theonline arena. When a show host mentions a particular product, a viewermay then need to open a browser window or mobile application and searchfor the product. It may be difficult for the viewer to remember detailsof the product that would enable formulation of a good search query.Moreover, the search engine used by the viewer may provide relevantadvertising that directs the viewer's attention away from the site ofthe home shopping channel. For example, the search engine may promotecompeting offers for the product.

Approaches may be used to market items in connection with prerecordedvideo shorts. For example, the Video Player Ad-Serving InterfaceDefinition (VPAID) provides an application programming interface (API)for serving advertisements in conjunction with playback of digital videocontent. The Video Ad-Serving Template (VAST) is another technology thatprovides an advertisement response format that enables videoadvertisements to be served by compatible video players. VPAID and VASTare standards promulgated by the Interactive Advertising Bureau.

Various embodiments of the present disclosure introduce approaches forserving interactive content in conjunction with live video streams, suchas live shopping programs that discuss items available for order orpre-order via an electronic commerce system or electronic marketplace.User interfaces are disclosed that facilitate presentation of orderableitems alongside a live video stream. Some user interfaces may include achat functionality for viewers to communicate with the program hostand/or other viewers. Orderable items may be injected into the chatfunctionality as desired by the program host. In addition to orderableitems, program hosts may inject other interactive actions into the userinterfaces, such as viewer voting actions and others. Some userinterfaces may incorporate overlays on top of the live video stream,where the overlays enable an interactive action. Furthermore, variousembodiments are disclosed for synchronizing interactive content with thelive video stream, with the understanding that the live video stream maybe subject to some level of delay by the time at which it is rendered bya client device.

Various approaches relevant to interactive shopping interfaces aredescribed in U.S. patent application entitled “LIVE VIDEO STREAM WITHINTERACTIVE SHOPPING INTERFACE,” filed on even date herewith underAttorney Docket No. 170116-1940, and U.S. patent application entitled“SYNCHRONIZING INTERACTIVE CONTENT WITH A LIVE VIDEO STREAM,” filed oneven date herewith under Attorney Docket No. 170116-1970, which areincorporated herein by reference in their entirety.

Referring now to FIG. 1, shown is a pictorial diagram of an example userinterface 100 rendered according to various embodiments of the presentdisclosure. The user interface 100 corresponds to an interactiveshopping interface, including a player interface 102 that is rendering alive video stream 103. The live video stream shows one or more hostsdiscussing a sequence of items that are featured within the program. Theitems are offered for ordering via an associated electronic commercesystem. The player interface 102 may include various player controls 106that may allow a viewer to jump to an earlier point in the live videostream, pause the live video stream, stop the live video stream, adjustthe volume of the live video stream, and so on. One or more graphicaloverlays 109 may be superimposed over a portion of the frame of the livevideo stream, where a selection of a graphical overlay 109 may cause aninteractive action relative to one or more items to be performed.

The user interface 100 may also include a shopping interface 112. Theshopping interface 112 may be rendered as a panel (as shown in FIG. 1)or may be rendered as an overlay on top of a portion of the live videostream. Alternatively, the shopping interface 112 may be rendered uponanother display or in another window. The shopping interface 112includes information about items currently being discussed within asegment of the live video stream. This information may include an itemimage, an item title, an item price, a quantity remaining indication,and/or other information.

For each item, a selectable item component may be provided (e.g., abutton, link, item image, or infographic) such that when the selectableitem component is selected, an interactive action relative to the itemis performed. Such an interactive action may include adding the item toa shopping cart, initiating an order or purchase of the item, viewing anitem detail page with more information about the item, casting a vote inrespect to the item, saving the item for future reference, causinganother image or video of the item to be rendered, or other actions.Where multiple versions of the item are offered, the interactive actionmay be with respect to a preselected one of the versions. In some cases,a user may select a version in the item detail page. Additionally, theshopping interface 112 may include a time limit for current offers, aselectable component to show all items discussed in the live videostream, and so on.

As the live video stream progresses, the content of the shoppinginterface 112 may be updated. A live video stream according to someapproaches may be divided into segments, and the shopping interface 112may include items featured or discussed in a current segment. In oneembodiment, the shopping interface 112 may comprise a “shoveler”component configured to display information regarding only a subset ofthe items within a viewport. However, the user may scroll or otherwisemanipulate the viewport to see information regarding previouslydiscussed items, or items that may be discussed in the future. In somecases, this viewport may update automatically to show different items asthey are featured in the live video stream.

The user interface 100 may also include a chat interface 115 configuredto facilitate interactive communication among viewers of the live videostream and hosts and producers of the live video stream. Messages sentthrough the chat interface 115 may be propagated to all other users. Themessages may be subject to moderation by a producer. In one embodiment,the host or producer may cause item information to be pushed into thechat interface 115, where selection of a component of the iteminformation may result in adding the item to a shopping cart, initiatingan order or purchase of the item, viewing an item detail page with moreinformation about the item, casting a vote in respect to the item, orother actions.

Further, social network integrations 118 may be provided to promote thecurrently featured item(s) and/or the live video stream via socialnetworks, email, and/or other forms of communication. For example, auser may share a currently discussed item or the live video stream via asocial network. A subscribe function may allow a user to keep up withitems discussed via the live video stream and/or future programs of thelive video stream. For instance, upon selecting a subscribe component, auser may opt into emails announcing live video streams.

Many variations on the user interface 100 are contemplated herein,including more simplified user interfaces 100 for devices having smallerdisplays. For smaller display devices, it may be that only the livevideo stream 103 and the shopping interface 112 are renderedsimultaneously on the screen. In the following discussion, a generaldescription of the system and its components is provided, followed by adiscussion of the operation of the same.

With reference to FIG. 2, shown is a networked environment 200 accordingto various embodiments. The networked environment 200 includes acomputing environment 203 and a plurality of client devices 206 a . . .206N, which are in data communication with each other via a network 209.The network 209 includes, for example, the Internet, intranets,extranets, wide area networks (WANs), local area networks (LANs), wirednetworks, wireless networks, cable networks, satellite networks, orother suitable networks, etc., or any combination of two or more suchnetworks.

The computing environment 203 may comprise, for example, a servercomputer or any other system providing computing capability.Alternatively, the computing environment 203 may employ a plurality ofcomputing devices that may be arranged, for example, in one or moreserver banks or computer banks or other arrangements. Such computingdevices may be located in a single installation or may be distributedamong many different geographical locations. For example, the computingenvironment 203 may include a plurality of computing devices thattogether may comprise a hosted computing resource, a grid computingresource, and/or any other distributed computing arrangement. In somecases, the computing environment 203 may correspond to an elasticcomputing resource where the allotted capacity of processing, network,storage, or other computing-related resources may vary over time.

Various applications and/or other functionality may be executed in thecomputing environment 203 according to various embodiments. Also,various data is stored in a data store 212 that is accessible to thecomputing environment 203. The data store 212 may be representative of aplurality of data stores 212 as can be appreciated. The data stored inthe data store 212, for example, is associated with the operation of thevarious applications and/or functional entities described below.

The components executed in the computing environment 203, for example,include a live video source 215, a video mixer 216, a plurality of videoencoders 218, an interactive shopping interface application 221, a livevideo stream management application 224, a media server 227, anelectronic commerce system 230, an advertising system 232, and otherapplications, services, processes, systems, engines, or functionalitynot discussed in detail herein.

The live video source 215 obtains live video feed from a video mixerand/or one or more cameras. The live video feed may be in anuncompressed or compressed format. The live video source 215 suppliesthe live video feed to a video mixer 216, which then provides a videofeed to a plurality of video encoders 218. The video mixer 216 maycombine the output of the live video source 215 with one or more livevideo feeds originating in client devices 206. For example, the videomixer 216 may combine a video feed of a program host with a video feedof a customer.

The video encoders 218 compress the live video feed using one or morecodecs (e.g., Moving Pictures Experts Group (MPEG)-2, MPEG-4, HighEfficiency Video Coding (HEVC), and/or other formats) in order to reducethe bitrate of the live video feed for multiple quality levels. Thevideo encoders 218 may generate multiple versions of a live video stream(e.g., 8K, 4K, 1024p, 480i, etc.) that can be received by client devices206 having differing available network bandwidths. The video encoders218 may encode the live video feed into chunks or segments. Thesesegments may be of a fixed length (e.g., ten seconds). In some cases,the video encoders 218 may produce multiple different views of the livevideo stream 103, such as a view of a customer being interviewed and aview of the host doing the interview.

The interactive shopping interface application 221 is executed togenerate an interactive shopping interface to accompany a live videostream. To this end, the interactive shopping interface application 221may determine items featured in the live video stream and then generatevarious metadata to be sent to the client devices 206. The metadatainstructs the client devices 206 to render user interface componentsthat facilitate an interactive shopping experience. The interactiveshopping interface application 221 may also be configured to providechat functionality that enables communication among multiple viewers ofthe live video stream.

The live video stream management application 224 is executed to controlthe presentation of the live video stream to the client devices 206. Tothis end, the live video stream management application 224 may generatemanifests that point the client devices 206 to specific segment versionsfor the live video stream. The media server 227 is configured to sendvideo data and interface data created by the interactive shoppinginterface application 221 and the live video stream managementapplication 224 to the client devices 206. For example, the media server227 may comprise a commercially available hypertext transfer protocol(HTTP) server. The media server 227 may serve data via HTTP, real-timetransfer protocol (RTP), real-time streaming protocol (RTSP), or otherprotocols.

The electronic commerce system 230 is executed in order to facilitatethe online order of items over the network 209 through an electronicmarketplace in which one or more sellers participate. The electronicmarketplace may be operated by a proprietor who may also be a seller.The electronic commerce system 230 also performs various backendfunctions associated with the online presence of a seller in order tofacilitate the online order of items. For example, the electroniccommerce system 230 may generate network content such as web pages,mobile application data, or other forms of content that are provided toclient devices 206 for the purposes of selecting items for purchase,rental, download, lease, or other forms of consumption. The advertisingsystem 232 may link to the electronic commerce system 230 to provideadvertising to be included within item detail pages, search resultpages, category pages, and/or other content served by the electroniccommerce system 230. The advertising system 232 in some embodiments mayalso provide advertising to be injected into the live video stream 103or the shopping interface 112.

The data stored in the data store 212 includes, for example, an itemcatalog 233 storing item data 236, video segment manifests 239, videosegments 242, segment metadata 245, electronic marketplace data 248,user data 251, interactive shopping interface configuration data 254,user interface code 257, and potentially other data. The item catalog233 includes data regarding items offered for order through theelectronic commerce system 230. Such items may include products, goods,services, digital content, and/or other items. The item data 236 mayinclude titles, descriptions, weights, prices, quantities available,export restrictions, customer reviews, customer ratings, images, videos,version information, availability information, shipping information,and/or other data.

The video segments 242 correspond to segments of the live video streamthat are served to client devices 206. Multiple versions of each segmentmay be encoded using different bitrates or codecs. The segment metadata245 corresponds to a sequence of items featured during a video segment242 or discussed by one or more hosts during the video segment 242. Insome cases, the video segment 242 may be different from a “shoppingsegment” used to group items in interactive shopping interfaces. Inparticular, a “shopping segment” may correspond to multiple videosegments 242. A producer or host may generate the segment metadata 245in advance or in real-time while the live video stream is created. Thevideo segment manifests 239 may include locator information (e.g.,uniform resource locators (URLs)) indicating where specific versions ofvideo segments 242 may be obtained. In one embodiment, the video segmentmanifests 239 may be used to implement the HTTP Live Streaming (HLS)protocol. Further, the video segment manifests 239 may encode thesegment metadata 245 associated with the particular video segment 242.

The electronic marketplace data 248 includes data relating to offers ofitems for order or preorder via an electronic marketplace implemented bythe electronic commerce system 230. The user data 251 may includepersonal information of a user such as account information, orderhistory, browse history via the electronic commerce system 230, itemsseen via the interactive shopping interface, video segments 242 viewed,chat history, and/or other data.

The interactive shopping interface configuration data 254 configures theoperation of the interactive shopping interface application 221. Forinstance, the interactive shopping interface configuration data 254 mayinclude layout parameters, available options, and so on, to control theappearance of the interactive shopping interface. The user interfacecode 257 is used to implement the interactive shopping interface. Tothis end, the user interface code 257 may include code executable on theclient device 206. The user interface code 257 may include hypertextmarkup language (HTML) data, JavaScript data, dynamic HTML (DHTML) data,video player code, and other data.

The client devices 206 may comprise, for example, a processor-basedsystem such as a computer system. Such a computer system may be embodiedin the form of a desktop computer, a laptop computer, personal digitalassistants, cellular telephones, smartphones, set-top boxes, musicplayers, web pads, tablet computer systems, game consoles, electronicbook readers, or other devices with like capability. The client devices206 may include a display 260 a . . . 260N. The displays 260 maycomprise, for example, one or more devices such as liquid crystaldisplay (LCD) displays, gas plasma-based flat panel displays, organiclight emitting diode (OLED) displays, electrophoretic ink (E ink)displays, LCD projectors, or other types of display devices, etc. Theclient devices 206 may also include one or more capture devices 261 a .. . 261N such as image cameras, video cameras, microphones,three-dimensional video capture devices, and other capture devices.

The client devices 206 may be configured to execute various applicationssuch as a content access application 263 a . . . 263N and/or otherapplications. The content access application 263 may be executed in aclient device 206, for example, to access network content served up bythe computing environment 203 and/or other servers, thereby rendering auser interface 100 (FIG. 1) on the display 260. To this end, the contentaccess application 263 may comprise a dedicated application as withclient device 206N, or the content access application 263 may beexecuted in a browser 266, as is the case with client device 206 a. Theclient devices 206 may be configured to execute applications beyond thecontent access application 263 and the browser 266 such as, for example,email applications, social networking applications, word processors,spreadsheets, and/or other applications.

Next, a general description of the operation of the various componentsof the networked environment 200 is provided. To begin, a user launchesa content access application 263 and accesses a uniform resource locator(URL) associated with a live video stream with an interactive shoppinginterface. Various user interface code 257 may be sent to the clientdevice 206 for client-side execution. A live video stream 103 (FIG. 1)begins playing via a player interface of the content access application263. The live video stream 103 depicts one or more hosts discussing asequence of items.

In advance or during the production of the live video stream 103, thehosts or producers of the live video stream 103 may create a sequence ofitems corresponding to the items to be discussed or featured. As thelive video stream 103 progresses, the hosts or producers may select viaa user interface which items are being discussed. The interactiveshopping interface application 221 is thereby able to determine whichitems are discussed or featured at any given time. The hosts orproducers may also manage the live video stream 103 via the live videostream management application 224. Approaches for managing live videostreams with interactive shopping interfaces are discussed in U.S.patent application entitled “BROADCASTER TOOLS FOR INTERACTIVE SHOPPINGINTERFACES,” filed on even date herewith under Attorney Docket No.170117-1150, which is incorporated herein by reference in its entirety.

While the live video stream 103 is being streamed to the client device206 by the media server 227, information indicating the featured ordiscussed items is also sent to the client device 206 by the mediaserver 227, either through a push or pull arrangement. The contentaccess application 263 is configured to render an interactive shoppinginterface that presents information about the currently featured items.The interactive shopping interface may include selectable itemcomponents, corresponding to the items, that perform an interactivefunction or action, such as adding the item to a shopping list or cartvia the electronic commerce system 230, initiating an order of an itemvia the electronic commerce system 230, causing an item detail page tobe rendered, casting a vote in regard to an item, and so on. The contentaccess application 263 is configured to maintain synchronization of theitems shown in the interactive shopping interface with respect to theprogress of the live video stream 103.

In addition, an item history or timeline user interface may showpreviously discussed items or items to be discussed in the future. Theitems in the timeline user interface may be grouped by video segment242. A chat interface may enable communication among viewers of the livevideo stream 103 and potentially show hosts or producers. A voice chatsubsystem and video chat subsystem may enable communication with usersat client devices 206 by way of voice and/or video. A host or producer,through broadcaster tool interfaces, may cause selectable graphicaloverlays to be rendered over the live video stream 103. Selection of theselectable graphical overlays may cause an interactive function to beperformed. Hosts or producers may also cause item information to bepushed to the client devices 206 within chat interfaces. Hosts orproducers may also update other metadata such as time remaining, itemsordered, pricing, viewer polls, and so on.

In one embodiment, commands originating from a client device 206 (e.g.,a smartwatch, a verbally activated fixed microphone client) may besynchronized with the items that are currently being featured.Accordingly, a simple voice command (e.g., “buy this product”) may causean interactive function (e.g., initiating a purchase) to be performedwith respect to a currently featured product. That is to say, once auser gives the command, the command may be returned to the computingenvironment 203. The computing environment 203 may determine that thesame user who gave the command is also currently consuming a live videostream 103 by way of another client device 206. The computingenvironment 203 may then determine which item is currently beingfeatured and then perform the interactive function with respect to thatitem.

Several examples of user interfaces will next be discussed. Although theexamples herein involve a single display 260, it is understood thatelements may be split across multiple displays 260, which may be coupledto the same client device 206 or a different client device 206. Forexample, a user may watch the live video stream 103 on a living roomtelevision and then follow along with the items discussed on asmartphone display. A user may transfer elements between multipledisplays 260 and client devices 206. However, as described, theinteractive shopping interface will be synchronized with the currentstate of the live video stream 103. To this end, timecode and/or otherdata may be exchanged between client devices 206 to maintain propersynchronization. Various approaches to using multiple displays 260 topresent information regarding a video stream are described in U.S.patent application Ser. No. 14/034,055 entitled “PLAYBACK OF CONTENTUSING MULTIPLE DEVICES” and filed on Sep. 23, 2013, which isincorporated herein by reference in its entirety.

Referring next to FIG. 3A, shown is a pictorial diagram of an exampleuser interface 300 a rendered according to various embodiments of thepresent disclosure. The user interface 300 a depicts a live video stream103 that is maximized to provide more of an immersive user experience.The user interface 300 a may fill a window of a browser 266 (FIG. 2) ora display 260 (FIG. 2) of a client device 206 (FIG. 2).

Various controls 303 may be rendered over a portion of the live videostream 103 as an overlay. User selection of the controls 303 may pausethe live video stream 103, cause a chat interface to be rendered, causean interactive shopping interface to be rendered, cause a historyinterface to be rendered, cause show notes to be rendered, adjust thevolume of the audio of the live video stream 103, cause informationabout persons appearing or discussed in the live video stream 103 to berendered, or perform other functions. In one embodiment, the controls303 may be hidden after a period of user inactivity (e.g., a lack ofkeyboard input, touchscreen input, or mouse movement). An item historyinterface may display a listing of video programming previously watchedvia the media server 227 (FIG. 2), and may provide the ability to rollback in time.

Turning now to FIG. 3B, shown is a pictorial diagram of another exampleuser interface 300 b rendered according to various embodiments of thepresent disclosure. The user interface 300 b shows an example of a chatinterface 306 rendered as an overlay on the live video stream 103 inresponse to the selection of a chat control 303. The chat interface 306may facilitate communication among multiple users watching the livevideo stream 103 and may also include interaction with hosts, producers,interview guests, or other users associated with the live video stream103.

The chat interface 306 may provide users the ability to submit textcomments, video comments, and/or audio comments. Communications may bedirected to all users, a subset of users, or directly to hosts and/orproducers of the live video stream 103. Communications via the chatinterface 306 may be subject to the approval of a moderator. Selected“favorite” communications may be featured or given prominence in thechat interface 306 (“Our Favorite Responses”). In some cases,communications from social networks may be featured in the chatinterface 306. For example, a user may send a message via a socialnetwork that is associated with the current program of the live videostream 103 by way of a hashtag or other tag. A producer may use abroadcaster management interface to select appropriate ones of thesemessages to be featured in the chat interface 306.

In one scenario, a client device 206 may correspond to a fixedmicrophone client device 206 that continuously listens for wake words orother predefined verbal content. A user may say something relevant tothe current live video stream 103, which may be recognized through avoice recognition system and then transmitted to a show producer. Theshow producer may then choose to feature the comment via the chatinterface 306. In some cases, the sentiment of the user may bedetermined using voice recognition in connection with a fixed microphoneclient device 206 and tallied to provide to the producer or other endusers via the chat interface 306 the general feeling of users towardscurrently featured items. For example, statistics may be gathered andpresented as to whether users are feeling positive or negative towards aproduct currently being discussed in the live video stream 103.

The chat interface 306 may also include a viewport where currentcommunications from users are displayed. A host or producer may have theability to inject selectable item components and/or other informationabout items that are currently being discussed or otherwise featured inthe live video stream 103. Such components or information may beinjected within the chat interface 306, such as in the currentcommunications viewport.

Moving on to FIG. 3C, shown is a pictorial diagram of another exampleuser interface 300 c rendered according to various embodiments of thepresent disclosure. The user interface 300 c shows an example of aninteractive shopping interface 309 rendered as an overlay on the livevideo stream 103 in response to the selection of a shopping control 303.In this example, the interactive shopping interface 309 includes atimeline that divides the live video stream 103 into segments, includingpast and/or future segments.

Associated with each segment is a list of items that were featured ordiscussed in the particular segment. In some cases, the items mayinclude items that were shown but not discussed or explicitly featured(e.g., a coffee mug sitting on the show host's desk, or an article ofclothing worn by a host but not explicitly mentioned, etc.). Also, theitems may include other items from the item catalog 233 that are relatedto items that are featured or discussed (e.g., accessory items, similaritems, items often purchased together or as alternatives, etc.). Eachitem can be represented by a selectable item component or indicia, whichin this case may be an item thumbnail image. The interactive shoppinginterface 309 may include a viewport, where the user can manipulate theviewport (e.g., by scrolling or swiping) in order to see itemsassociated with other segments on the timeline. The items that are shownmay be those items that were featured or discussed in every segment ofthe live video stream 103. Alternatively, the list of items may bepersonalized based on what segments the user actually streamed.

The interactive shopping interface 309 may be dynamically updated toinclude new items for current and/or future segments. Also, what isdisplayed in the viewport may be dynamically adjusted to show what itemsare currently being discussed or featured in a current segment.Selection of the selectable item components may cause an interactivefunction or action to be performed (e.g., viewing an item detail page,adding the item to a shopping list or cart, initiating an order of theitem, casting a vote with respect to the item, etc.). Although theinterfaces shown in FIGS. 3A-3C include overlays, in other examples whatis shown in the overlays may be rendered in distinct user interfacepanels or on different displays 260 as compared to the live video stream103.

In some embodiments, the interactive shopping interface 309 may alsopresent items submitted by users as being relevant to the items that arediscussed or featured. For instance, if a show is currently discussingone type of black pants available for purchase, a user may tag anothertype of black pants that is potentially relevant or comparable. Theother type of black pants may also be offered by the electronic commercesystem 230. The users may submit the related items by way of a socialnetwork, for example, by associating a particular hashtag with an itemdetail page link or item description. The tagged items, potentiallysubject to moderator approval, may then be populated in the interactiveshopping interfaces 309 of other users for rendering as selectable itemcomponents.

In other examples, a localized search component may be rendered in theuser interface 300 d. This could be a form field that is configured toreceive a search query. The search query could be evaluated against thetitles and descriptions for all items presented via the interactiveshopping interface 309. In some cases, the search query could beevaluated against the verbal dialogue or visual text previouslypresented in the live video stream 103.

Turning now to FIG. 3D, shown is a pictorial diagram of another exampleuser interface 300 d rendered according to various embodiments of thepresent disclosure. In the user interface 300 d, a selectable graphicaloverlay 312 a is rendered on top of the live video stream 103. In thisexample, the selectable graphical overlay 312 corresponds to a rectanglethat is superimposed over a graphical position of a corresponding itemin the frame of the live video stream 103. The item here is a necklace,and the rectangle is shown relative to the necklace being worn by aperson in the live video stream 103.

Another selectable graphical overlay 312 b is also shown superimposedover the live video stream 103. The selectable graphical overlay 312 bcorresponds to a box labeled “Amazing find of the day.” Both selectablegraphical overlays 312 a and 312 b, when selected, may cause aninteractive action to be performed relative to a corresponding item(e.g., viewing an item detail page, adding the item to a shopping listor cart, initiating an order of the item, casting a vote with respect tothe item, etc.).

In addition, an interactive shopping interface 315 is included in theuser interface 300 d. For example, the interactive shopping interface315 may include selectable item components that correspond to itemscurrently featured or discussed in the live video stream 103. Itemtitles, item images, item prices, and/or other item information may beprovided. The selectable item components may be selectable by way of abutton or link that when selected causes an interactive action to beperformed relative to the item.

Referring next to FIG. 4, shown is a flowchart that provides one exampleof the operation of a portion of the computing environment 203 accordingto various embodiments. Portions of the flowchart of FIG. 4 may beperformed by a media server 227 (FIG. 2), a live video source 215 (FIG.2), a video encoder 218 (FIG. 2), an interactive shopping interfaceapplication 221 (FIG. 2), and/or a live video stream managementapplication 224 (FIG. 2) in some embodiments. It is understood that theflowchart of FIG. 4 provides merely an example of the many differenttypes of functional arrangements that may be employed to implement theoperation of the portion of the computing environment 203 as describedherein. As an alternative, the flowchart of FIG. 4 may be viewed asdepicting an example of elements of a method implemented in thecomputing environment 203 according to one or more embodiments.

Beginning with box 401, the media server 227 sends user interface code257 (FIG. 2) to a client device 206 (FIG. 2) in response to a request.For example, the client device 206 may open a connection to a specificuniform resource locator (URL) over the network 209 (FIG. 2), where theURL corresponds to a live video stream having an interactive shoppinginterface. In box 403, the live video source 215 obtains a live videostream. In box 406, the live video source 215 generates a video segment242 (FIG. 2) of the live video stream. For example, the video segment242 may corresponds to ten seconds of video stored within a buffer. Inbox 409, one or more video encoders 218 encode the video segment 242.

In box 412, the interactive shopping interface application 221determines one or more items featured in the video segment 242. Forexample, the interactive shopping interface application 221 may receivea list of a sequence of items specified by a host or producer of thelive video stream. The interactive shopping interface application 221may then generate segment metadata 245 (FIG. 2) indicating itemsfeatured or discussed in the video segment 242. In box 415, the livevideo stream management application 224 may generate a video segmentmanifest 239 (FIG. 2), including multiple URLs corresponding todifferent encoded versions of the video segment 242. In generating thevideo segment manifest 239, the segment metadata 245 may be included toprovide a time-based association of items with the video segment 242.

In box 418, the media server 227 sends the video segment manifest 239 tothe client device 206 via the network 209. For example, the clientdevice 206 may poll the media server 227 for a video segment manifest239. Alternatively, the media server 227 may push the video segmentmanifest 239 to the client device 206. Subsequently, a request for anencoded video segment 242 is received from the client device 206 in box421. The media server 227 sends the encoded video segment 242 to theclient device 206 in box 424.

In box 427, the media server 227 receives a request for informationabout an item from the client device 206. For example, user interfacecode 257 now executed by the client device 206 may know from the videosegment manifest 239 that a particular item (as identified by an itemidentifier) is associated with a video segment 242. The user interfacecode 257 may request additional item data 236 (e.g., title, price,image, ordering links, etc.) in order to render selectable itemcomponents or other item information in a user interface. In box 430,the media server 227 sends the requested item information to the clientdevice 206.

In box 433, the media server 227 determines whether the live videostream has finished. If the live video stream has not finished, theflowchart returns to box 406, and another video segment 242 is capturedby the live video source 215. If the live video stream has finished, theprocess proceeds to completion.

Moving on to FIG. 5, shown is a flowchart that provides one example ofthe operation of a portion of the content access application 263according to various embodiments. It is understood that the flowchart ofFIG. 5 provides merely an example of the many different types offunctional arrangements that may be employed to implement the operationof the portion of the content access application 263 as describedherein. As an alternative, the flowchart of FIG. 5 may be viewed asdepicting an example of elements of a method implemented in the clientdevice 206 according to one or more embodiments.

Beginning with box 503, the content access application 263 sends arequest to access content to the media server 227 (FIG. 2) via thenetwork 209 (FIG. 2). In box 506, the content access application 263receives the user interface code 257 (FIG. 2) from the media server 227.In box 509, the content access application 263 executes the userinterface code 257.

In box 512, the content access application 263 obtains a video segmentmanifest 239 (FIG. 2) from the media server 227. From the video segmentmanifest 239, the content access application 263 is able to obtain avideo segment 242 (FIG. 2) in box 515. In this respect, the contentaccess application 263 may determine the available bandwidth via thenetwork 209 or other configured parameters in order to determine aversion of the video segment 242 that is to be requested (e.g., HD, SD,low quality, etc.). In box 518, the content access application 263renders the video segment 242 upon a display 260 (FIG. 2).

In box 521, the content access application 263 obtains item informationcorresponding to items featured in the video segment 242. For example,the video segment manifest 239 may include segment metadata 245 thatindicates the featured items. Alternatively, a separate channel maytransmit the featured items from the media server 227 to the contentaccess application 263 via a push or pull arrangement.

In box 524, the content access application 263 synchronizes aninteractive shopping interface rendered upon the display 260 based atleast in part on the received item information. In one embodiment, alatency observed at the client device 206 may be used to delaypresentation of information about featured items, where the latency iscaused by encoding delays, network buffering delays, rendering delays,and so on. For example, the content access application 263 may receivean indication that item X is discussed at 2:34 pm and 0 seconds.However, due to the various delays in transmitting the live videostream, the corresponding video where item X is discussed may not berendered until 2:34 pm and 20 seconds. Accordingly, to maintainsynchronization, the interactive shopping interface may not be updatedto show information about item X until 2:34 pm and 20 seconds based atleast in part on a calculated latency (i.e., 20 seconds). Also, in oneembodiment, the segment metadata 245 may indicate an expiration time ora length of time that an item is to be featured. At the end of thisperiod, the interactive shopping interface may be updated by the contentaccess application 263 to remove, hide, or reclassify renderings ofexpired items.

In box 527, the content access application 263 determines whetheranother video segment 242 of the live video stream is available. Ifanother video segment 242 is available, the content access application263 returns to box 512 and obtains another video segment manifest 239.Otherwise, the operation of the portion of the content accessapplication 263 ends.

Continuing now to FIG. 6A, shown is a flowchart that provides oneexample of the operation of another portion of the content accessapplication 263 according to various embodiments. It is understood thatthe flowchart of FIG. 6A provides merely an example of the manydifferent types of functional arrangements that may be employed toimplement the operation of the portion of the content access application263 as described herein. As an alternative, the flowchart of FIG. 6A maybe viewed as depicting an example of elements of a method implemented inthe client device 206 according to one or more embodiments.

Beginning with box 603, the content access application 263 receives auser selection of a selectable item component rendered in an interactiveshopping interface. For instance, the user may select an image of anitem or may click a button associated with an item (e.g., labeled “shopnow”). Alternatively, the selectable item component may correspond to aselectable graphical overlay as in FIG. 3D.

In box 606, the content access application 263 determines theinteractive action to be performed with respect to the selectable itemcomponent and the item. As non-limiting examples, interactive actionsmay include adding the item to a shopping list or cart, viewing an itemdetail page, initiating an order of the item via the electronic commercesystem 230 (FIG. 2), casting a vote in regard to the item, and so on.

In box 609, the content access application 263 performs the interactiveaction. In some scenarios, the interactive action may be an electroniccommerce action, and the content access application 263 may invoke auniform resource locator (URL) corresponding to the electronic commercesystem 230 to perform the interactive action. Thereafter, the operationof the content access application 263 ends.

Referring next to FIG. 6B, shown is a flowchart that provides oneexample of the operation of another portion of the content accessapplication 263 according to various embodiments. It is understood thatthe flowchart of FIG. 6B provides merely an example of the manydifferent types of functional arrangements that may be employed toimplement the operation of the portion of the content access application263 as described herein. As an alternative, the flowchart of FIG. 6B maybe viewed as depicting an example of elements of a method implemented inthe client device 206 according to one or more embodiments.

Beginning with box 612, the content access application 263 obtains alive video stream 103 (FIG. 1) from a media server 227 (FIG. 2) via anetwork 209 (FIG. 2). In some cases, the content access application 263may also obtain user interface code 257 (FIG. 2) from the media server227 that include video player code and other code to render aninteractive shopping interface. In box 615, the content accessapplication 263 obtains information indicating a sequence of itemsdiscussed or otherwise featured in the live video stream 103. Forexample, the information may be included within a video segment manifest239 (FIG. 2) used to obtain a current video segment 242 (FIG. 2). As analternative, the information may be obtained separately via a pollarrangement on a periodic basis or via a push arrangement from the mediaserver 227.

In box 618, the content access application 263 generates a timeline userinterface showing the items featured in each video segment 242 of thelive video stream 103. For purposes of the timeline user interface, thesegments used in some instances may correspond to larger shoppingsegments that span multiple video segments 242. The video segments 242may include past, current, and future segments. To this end, the contentaccess application 263 may receive data encoding the timeline userinterface from the media server 227. Alternatively, user interface code257 (FIG. 2) executed in the client device 206 may create the timelineuser interface.

In box 621, the content access application 263 renders a user interfaceon the display 260 (FIG. 2), where the user interface includes the livevideo stream 103 and a timeline user interface. In the timeline userinterface, the sequence of items discussed may be individually groupedfor each segment as in the example of FIG. 3C. In box 624, the contentaccess application 263 receives a user gesture relative to the timelineuser interface. The user gesture may be a scrolling gesture, a swipinggesture, a selection gesture, or other gesture. In box 627, the contentaccess application 263 adjusts a viewport of the timeline user interfaceto show a different portion of the timeline user interface correspondingto other video segments 242 of the live video stream 103. Thereafter,the operation of the portion of the content access application 263 ends.

Moving on to FIG. 7, shown is a flowchart that provides one example ofthe operation of a portion of the computing environment 203 according tovarious embodiments. Portions of the flowchart of FIG. 7 may beperformed by a media server 227 (FIG. 2), an interactive shoppinginterface application 221 (FIG. 2), and/or a live video streammanagement application 224 (FIG. 2) in some embodiments. It isunderstood that the flowchart of FIG. 7 provides merely an example ofthe many different types of functional arrangements that may be employedto implement the operation of the portion of the computing environment203 as described herein. As an alternative, the flowchart of FIG. 7 maybe viewed as depicting an example of elements of a method implemented inthe computing environment 203 according to one or more embodiments.

Beginning with box 703, the interactive shopping interface application221 receives an indication that an item is featured in a live videostream 103 (FIG. 1). In box 703, the interactive shopping interfaceapplication 221 determines a graphical position of the item in one ormore frames of the live video stream 103. The graphical position maycorrespond to the relative position of the item within a window or ascreen. For example, a producer or host user may supply coordinatescorresponding to an approximate graphical position of the item.Alternatively, an automated image recognition system may recognize theitem within the live video stream 103 and extract an approximategraphical position. Where the featured item has multiple versions orvariants, the interactive shopping interface application 221 mayidentify the particular version being discussed in the live video stream103.

In box 709, the interactive shopping interface application 221 generatesdata encoding a selectable graphical overlay with respect to thefeatured item. For example, the data may include Video Player Ad-ServingInterface Definition (VPAID) data. In box 712, the media server 227sends the data encoding the selectable graphical overlay to the clientdevice 206 (FIG. 2). In one embodiment, the data encoding the selectablegraphical overlay may be sent within the segment metadata 245. Theselectable graphical overlay may include a component (e.g., a drop-downbox) configured to facilitate selection from a plurality of versions ofthe item. The particular version depicted or discussed in the live videostream may be selected by default.

In box 715, the media server 227 receives data indicating a userselection of the selectable graphical overlay from the client device206. In box 718, the media server 227 determines an interactive functionassociated with the user selection. In this regard, the media server 227may identify a selected version of the item, where multiple versions ofthe item may be selected. The interactive function may correspond toadding the item to a shopping list or cart, initiating an order of theitem through the electronic commerce system 230 (FIG. 2), viewing theitem detail page for the item, casting a vote with respect to the item,or other functions. In box 721, the media server 227 performs theinteractive function. Thereafter, the process proceeds to completion.

With reference to FIG. 8, shown is a schematic block diagram of thecomputing environment 203 according to an embodiment of the presentdisclosure. The computing environment 203 includes one or more computingdevices 800. Each computing device 800 includes at least one processorcircuit, for example, having a processor 803 and a memory 806, both ofwhich are coupled to a local interface 809. To this end, each computingdevice 800 may comprise, for example, at least one server computer orlike device. The local interface 809 may comprise, for example, a databus with an accompanying address/control bus or other bus structure ascan be appreciated.

Stored in the memory 806 are both data and several components that areexecutable by the processor 803. In particular, stored in the memory 806and executable by the processor 803 are the live video source 215, themixer 216, the plurality of video encoders 218, the interactive shoppinginterface application 221, the live video stream management application224, the media server 227, the electronic commerce system 230, theadvertising system 232, and potentially other applications. Also storedin the memory 806 may be a data store 212 and other data. In addition,an operating system may be stored in the memory 806 and executable bythe processor 803.

It is understood that there may be other applications that are stored inthe memory 806 and are executable by the processor 803 as can beappreciated. Where any component discussed herein is implemented in theform of software, any one of a number of programming languages may beemployed such as, for example, C, C++, C#, Objective C, Java®,JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, or otherprogramming languages.

A number of software components are stored in the memory 806 and areexecutable by the processor 803. In this respect, the term “executable”means a program file that is in a form that can ultimately be run by theprocessor 803. Examples of executable programs may be, for example, acompiled program that can be translated into machine code in a formatthat can be loaded into a random access portion of the memory 806 andrun by the processor 803, source code that may be expressed in properformat such as object code that is capable of being loaded into a randomaccess portion of the memory 806 and executed by the processor 803, orsource code that may be interpreted by another executable program togenerate instructions in a random access portion of the memory 806 to beexecuted by the processor 803, etc. An executable program may be storedin any portion or component of the memory 806 including, for example,random access memory (RAM), read-only memory (ROM), hard drive,solid-state drive, USB flash drive, memory card, optical disc such ascompact disc (CD) or digital versatile disc (DVD), floppy disk, magnetictape, or other memory components.

The memory 806 is defined herein as including both volatile andnonvolatile memory and data storage components. Volatile components arethose that do not retain data values upon loss of power. Nonvolatilecomponents are those that retain data upon a loss of power. Thus, thememory 806 may comprise, for example, random access memory (RAM),read-only memory (ROM), hard disk drives, solid-state drives, USB flashdrives, memory cards accessed via a memory card reader, floppy disksaccessed via an associated floppy disk drive, optical discs accessed viaan optical disc drive, magnetic tapes accessed via an appropriate tapedrive, and/or other memory components, or a combination of any two ormore of these memory components. In addition, the RAM may comprise, forexample, static random access memory (SRAM), dynamic random accessmemory (DRAM), or magnetic random access memory (MRAM) and other suchdevices. The ROM may comprise, for example, a programmable read-onlymemory (PROM), an erasable programmable read-only memory (EPROM), anelectrically erasable programmable read-only memory (EEPROM), or otherlike memory device.

Also, the processor 803 may represent multiple processors 803 and/ormultiple processor cores and the memory 806 may represent multiplememories 806 that operate in parallel processing circuits, respectively.In such a case, the local interface 809 may be an appropriate networkthat facilitates communication between any two of the multipleprocessors 803, between any processor 803 and any of the memories 806,or between any two of the memories 806, etc. The local interface 809 maycomprise additional systems designed to coordinate this communication,including, for example, performing load balancing. The processor 803 maybe of electrical or of some other available construction.

Although the live video source 215, the mixer 216, the plurality ofvideo encoders 218, the interactive shopping interface application 221,the live video stream management application 224, the media server 227,the electronic commerce system 230, the advertising system 232, andother various systems described herein may be embodied in software orcode executed by general purpose hardware as discussed above, as analternative the same may also be embodied in dedicated hardware or acombination of software/general purpose hardware and dedicated hardware.If embodied in dedicated hardware, each can be implemented as a circuitor state machine that employs any one of or a combination of a number oftechnologies. These technologies may include, but are not limited to,discrete logic circuits having logic gates for implementing variouslogic functions upon an application of one or more data signals,application specific integrated circuits (ASICs) having appropriatelogic gates, field-programmable gate arrays (FPGAs), or othercomponents, etc. Such technologies are generally well known by thoseskilled in the art and, consequently, are not described in detailherein.

The flowcharts of FIGS. 4-7 show the functionality and operation of animplementation of portions of the interactive shopping interfaceapplication 221, the live video stream management application 224, themedia server 227, and/or the content access application 263. If embodiedin software, each block may represent a module, segment, or portion ofcode that comprises program instructions to implement the specifiedlogical function(s). The program instructions may be embodied in theform of source code that comprises human-readable statements written ina programming language or machine code that comprises numericalinstructions recognizable by a suitable execution system such as aprocessor 803 in a computer system or other system. The machine code maybe converted from the source code, etc. If embodied in hardware, eachblock may represent a circuit or a number of interconnected circuits toimplement the specified logical function(s).

Although the flowcharts of FIGS. 4-7 show a specific order of execution,it is understood that the order of execution may differ from that whichis depicted. For example, the order of execution of two or more blocksmay be scrambled relative to the order shown. Also, two or more blocksshown in succession in FIGS. 4-7 may be executed concurrently or withpartial concurrence. Further, in some embodiments, one or more of theblocks shown in FIGS. 4-7 may be skipped or omitted. In addition, anynumber of counters, state variables, warning semaphores, or messagesmight be added to the logical flow described herein, for purposes ofenhanced utility, accounting, performance measurement, or providingtroubleshooting aids, etc. It is understood that all such variations arewithin the scope of the present disclosure.

Also, any logic or application described herein, including the livevideo source 215, the mixer 216, the plurality of video encoders 218,the interactive shopping interface application 221, the live videostream management application 224, the media server 227, the advertisingsystem 232, and the electronic commerce system 230, that comprisessoftware or code can be embodied in any non-transitory computer-readablemedium for use by or in connection with an instruction execution systemsuch as, for example, a processor 803 in a computer system or othersystem. In this sense, the logic may comprise, for example, statementsincluding instructions and declarations that can be fetched from thecomputer-readable medium and executed by the instruction executionsystem. In the context of the present disclosure, a “computer-readablemedium” can be any medium that can contain, store, or maintain the logicor application described herein for use by or in connection with theinstruction execution system.

The computer-readable medium can comprise any one of many physical mediasuch as, for example, magnetic, optical, or semiconductor media. Morespecific examples of a suitable computer-readable medium would include,but are not limited to, magnetic tapes, magnetic floppy diskettes,magnetic hard drives, memory cards, solid-state drives, USB flashdrives, or optical discs. Also, the computer-readable medium may be arandom access memory (RAM) including, for example, static random accessmemory (SRAM) and dynamic random access memory (DRAM), or magneticrandom access memory (MRAM). In addition, the computer-readable mediummay be a read-only memory (ROM), a programmable read-only memory (PROM),an erasable programmable read-only memory (EPROM), an electricallyerasable programmable read-only memory (EEPROM), or other type of memorydevice.

Further, any logic or application described herein, including the livevideo source 215, the mixer 216, the plurality of video encoders 218,the interactive shopping interface application 221, the live videostream management application 224, the media server 227, the advertisingsystem 232, and the electronic commerce system 230, may be implementedand structured in a variety of ways. For example, one or moreapplications described may be implemented as modules or components of asingle application. Further, one or more applications described hereinmay be executed in shared or separate computing devices or a combinationthereof. For example, a plurality of the applications described hereinmay execute in the same computing device 800 or in multiple computingdevices in the same computing environment 203. Additionally, it isunderstood that terms such as “application,” “service,” “system,”“engine,” “module,” and so on may be interchangeable and are notintended to be limiting.

Disjunctive language such as the phrase “at least one of X, Y, or Z,”unless specifically stated otherwise, is otherwise understood with thecontext as used in general to present that an item, term, etc., may beeither X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z).Thus, such disjunctive language is not generally intended to, and shouldnot, imply that certain embodiments require at least one of X, at leastone of Y, or at least one of Z to each be present.

It should be emphasized that the above-described embodiments of thepresent disclosure are merely possible examples of implementations setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

Therefore, the following is claimed:
 1. A system, comprising: a firstcomputing device; and at least one application executable in the firstcomputing device, wherein, when executed, the at least one applicationcauses the first computing device to at least: render a user interfacecomprising a video stream via a display of the first computing device;receive data encoding a graphical overlay from a second computingdevice, the graphical overlay comprising a selectable componentconfigured to facilitate performance of an interactive functionassociated with an item displayed via the video stream, the interactivefunction comprising at least one of: initiating an order of the item,adding the item to a shopping cart, casting a vote relative to the item,requesting an item detail page, or a selection of a particular versionof the item from a plurality of versions; render the graphical overlayover a portion of the video stream based at least in part on a graphicalposition of the item as displayed in the video stream; identify aselection of the selectable component in the graphical overlay; andinitiate performance of the interactive function in response to theselection.
 2. The system of claim 1, wherein, when executed, the atleast one application causes the first computing device to at leastreceive user interface code from the second computing device, the userinterface code being configured to implement the user interface forrendering the video stream
 3. The system of claim 1, wherein, whenexecuted, the at least one application causes the first computing deviceto at least: determine that the item is currently being discussed in thevideo stream.
 4. The system of claim 3, wherein determining that theitem is currently being discussed comprises receiving an indication froma third computing device.
 5. The system of claim 3, wherein determiningthat the item is currently being discussed comprises receiving segmentmetadata from the second computing device, the segment metadatacomprising a time-based association with the item and the video stream.6. The system of claim 1, wherein the video stream depicts a hostdiscussing a plurality of items.
 7. The system of claim 1, wherein anarea of the graphical overlay corresponds to a geometric shape to besuperimposed over the graphical position of the item.
 8. The system ofclaim 1, wherein the user interface further comprises a timeline userinterface, the timeline user interface comprising a subset of itemsbeing discussed during a particular segment of the video stream, andwhen executed, the at least one application causes the first computingdevice to at least: adjust a viewport of the timeline user interface toshow a different portion of the timeline user interface corresponding toa different segment of the video stream.
 9. The system of claim 8,wherein, when executed, the at least one application causes the firstcomputing device to at least: receive a user gesture relative to thetimeline user interface, the user gesture comprising at least one of ascrolling gesture, a swiping gesture, or a selection gesture; andwherein the viewport is adjusted in response to receiving the usergesture.
 10. A method, comprising: transmitting, via at least onecomputing device, a video stream to a client, the video stream depictinga host discussing a plurality of items; determining, via the at leastone computing device, a graphical position in a frame of the videostream at which a particular item of the plurality of items appears;generating, via the at least one computing device, data encoding agraphical overlay configured to be rendered relative to the graphicalposition of the item, the graphical overlay being configured to besuperimposed over the graphical position of the particular item in thevideo stream; transmitting, via the at least one computing device, thedata encoding the graphical overlay to the client; receiving, via the atleast one computing device, a selection of the graphical overlay, theselection comprising a request to perform an interactive functioncomprising at least one of: initiating an order of the particular item,adding the particular item to a shopping cart, casting a vote relativeto the particular item, requesting an item detail page, or facilitatinga selection of a particular version of the particular item from aplurality of versions of the particular item; and initiating, via the atleast one computing device, a performance of the interactive function.11. The method of claim 10, further comprising: generating, via the atleast one computing device, a timeline user interface, the timeline userinterface comprising a display of a subset of the plurality of items,the subset of the plurality of items corresponding to individual itemsbeing discussed during a particular time of the video stream; andtransmitting, via the at least one computing device, the timeline userinterface to the client.
 12. The method of claim 10, wherein thegraphical overlay further comprises a rendering duration parameter ofthe video stream.
 13. The method of claim 10, wherein determining thegraphical position comprises receiving at least one coordinate of anapproximate position of the particular item from another computingdevice.
 14. The method of claim 10, wherein determining the graphicalposition comprises: identifying, via an image recognition system, theparticular item in the frame of the video stream; and extracting, viathe at least one computing device, the graphical position based at leastin part on the identification.
 15. The method of claim 10, wherein adisplayed version of the particular item is selected by default.
 16. Anon-transitory computer-readable medium embodying a program executablein at least one computing device, wherein, when executed, the programcauses the at least one computing device to at least: transmit a videostream to a client device; identify a graphical position in a frame ofthe video stream at which an image of an item appears; generate dataencoding a graphical overlay for rendering over the video streamaccording to the graphical position, an area of the graphical overlaycorresponding to a geometric shape to be superimposed over the graphicalposition; transmit the data encoding the graphical overlay to the clientdevice; receive a selection of the graphical overlay from the clientdevice, the selection corresponding to a request to perform aninteractive function relative to the item; and cause the interactivefunction to be performed concurrently with a playback of the videostream, the interactive function comprising at least one of initiatingan order of the item, adding the item to a shopping cart, casting a voterelative to the item, requesting an item detail page, or facilitating aselection of a particular version of the item from a plurality ofversions.
 17. The non-transitory computer-readable medium of claim 16,wherein, the video stream depicts a host discussing a plurality ofitems.
 18. The non-transitory computer-readable medium of claim 17,wherein, when executed, the program further causes the at least onecomputing device to at least transmit video segment information to theclient device via a push arrangement, the video segment informationcomprising at least an order in which the plurality of items in aparticular segment are discussed.
 19. The non-transitorycomputer-readable medium of claim 16, wherein, when executed, theprogram further causes the at least one computing device to at leasttransmit user interface code to the client device, the user interfacecode being configured to implement a user interface for rendering thevideo stream.
 20. The non-transitory computer-readable medium of claim19, wherein the program further causes the at least one computing deviceto at least: identify another item associated with the item based atleast in part on receiving user-submitted data from the client device;and generate data encoding another graphical overlay, the othergraphical overlay corresponding to the other item and being configuredto be rendered by the client device relative to the video stream.